1. Field of the Invention
The present invention relates to a mobile body surrounding surveillance apparatus for surveillance of safety during movement of a manned or unmanned mobile body, such as a ship or a car (a vehicle, such as a two-wheeled vehicle (e.g., a motorcycle or a bicycle), a four-wheeled vehicle (e.g., an automobile), a train, etc.), a human or the like. For example, when a mobile body (own mobile body) moves laterally and there is a risk such that the mobile body contacts or collides with another mobile body (other mobile body) existing therearound, the mobile body surrounding surveillance apparatus is used to assist confirming the safety by warning a human involved with the mobile body by informing the danger caused by the approach of the other mobile body. The present invention also relates to a mobile body surrounding surveillance method using the mobile body surrounding surveillance apparatus, a control program for causing a computer to execute the mobile body surrounding surveillance method, and a computer-readable recording medium recording the control program.
2. Description of the Related Art
A recent increase in accidents of mobile bodies, such as traffic accidents (e.g., collision of automobiles, etc.) raises a significant public concern. Particularly, when moving an automobile to the left or right to make a lane change or turning right or left, a collision or crash frequently occurs in spite of the automobile driver's caution. The reason for such collision or crash is considered as follows: the automobile driver does not sufficiently confirm a rear and side direction with respect to the moving direction of his/her driving car (own mobile body) using a rearview mirror or the like; or there is another car (another mobile body) which is not covered by a rearview mirror or the like, i.e., a so-called blind spot.
To prevent such a traffic accident, for example, Japanese Laid-Open Publication No. 2000-285245 discloses a mobile body crash prevention apparatus which takes an image of a rear view using a camera mounted on a car, detects the presence of another car from the captured image, and employs an informing section to inform the driver of the car of the approach of another car by giving a warning, if there is a risk of collision or crash of another car coming in a rear and side direction when moving to the left or right (e.g., making a lane change, etc.) or turning left or right.
With the mobile body crash prevention apparatus, line edges which constitute a white line on a road or a ridge line of the road, and a vanishing point (point at infinity) which is an intersection of the line edges, are detected in each image of a plurality of frames captured in time series by the capturing section. Based on the white line and the ridge line and the positional information of the vanishing point, a detection region is narrowed. The detection region is divided into small regions (blocks). Movement amounts of the small regions between each frame are calculated by a technique called optical flow. In this case, the detection region is an image region E which is about a half of a screen indicated by slanted dashed lines in FIG. 12. The movement amount information of other vehicles thus calculated in the image region E is used to detect, for example, a passing car rapidly approaching from a rear and side direction of the own vehicle.
However, the conventional mobile body crash prevention apparatus of Japanese Laid-Open Publication No. 2000-285245 has the following problem.
When driving an own vehicle, a white line is detected to confirm a lane, a vanishing point is calculated to obtain the moving direction of another car, and optical flow is used to determine how each block obtained by dividing the detection region (image region E) is moved. Thus, advanced computation is required. In addition to the computation quality, the computation amount is huge, because the large image region E which is about a half of a screen indicated by slanted dashed lines in FIG. 12 is required as a detection region.
Thus, real-time processing cannot be performed due to the huge computation amount. To reduce the computation amount, a method of predicting a movement amount associated with the passage of time is used, for example. Therefore, the movement direction of another car cannot be correctly detected, likely leading to occurrence of error. Further, some roads may have no white lines, so that the movement amount of the mobile body cannot be calculated. Thus, the apparatus is not practical.
In order to solve the problem described above, the applicant proposes a method in Japanese Laid-Open Publication No. 2005-222424. The method is capable of monitoring the surrounding of a mobile body without performing a large amount of advanced computation by reducing the size of a detection region (image region E) and furthermore without performing a white line detection or a vanishing point tracing.
Hereinafter, a mobile body surrounding surveillance apparatus and a mobile body surrounding surveillance method using the same in embodiments of Japanese Laid-Open Publication No. 2005-222424 will be described with reference to the accompanying figures.
FIG. 13 is a block diagram showing a structure of a mobile body surrounding surveillance apparatus according to in an embodiment of Japanese Laid-Open Publication No. 2005-222424. FIG. 14 is a top view schematically showing the mobile body surrounding surveillance apparatus of FIG. 13 which is attached to an automobile and its vicinity.
As shown in FIG. 13, the mobile body surrounding surveillance apparatus 1 includes an image capturing section 2 for capturing an image of a surrounding of an automobile, a computation section 3 for executing a warning detection computation based on the captured image of a surrounding of an automobile to detect a risk due to the approach of another mobile body (described in detail later), and a change informing section 4 for giving a warning to a relevant person (driver) in accordance with warning detection information from the computation section 3.
The image capturing section 2 is a camera, such as an analog output camera, a digital output camera or the like. The image capturing section 2 is used to capture an image of a surrounding of an automobile. In FIG. 14, the image capturing section 2 is attached as an image capturing apparatus to an own mobile body 5 at a position (a top or bottom portion of a rearview mirror) which enables the image capturing apparatus to capture a rear and side view. The image capturing section 2 captures an image of a rear and side range which is a captured image region A indicated by slanted dashed lines in FIG. 14. Another mobile body 6 indicates another automobile which approaches the own mobile body 5 from a left and rear direction. When the image capturing section 2 is an analog output camera, an analog image signal is converted into a digital image signal by an A/D converter (not shown) before the image data is input to the computation section 3.
The computation section 3 includes a particular region setting section 31, an image processing section 32, a storage section 33, a change detection threshold setting section 34, and a change detection section 35. The computation section 3 detects the other mobile body 6 which is present in the vicinity of the own mobile body 5 from the image data captured by the image capturing section 2.
The particular region setting section 31 sets a particular region which is sufficiently small with respect to the image captured by the image capturing section 2. The particular region is a region (detection region) in which the image processing section 32 and the change detection section 35 detect the other mobile body 6 which is present in the vicinity of the own mobile body 5. A movement state of the other mobile body 6 relative to the own mobile body 5 (distance relationship between the own mobile body 5 and the other mobile body 6) varies. The particular region is defined as a rectangular (band-like, landscape (having a width greater than length)) region which is horizontally parallel to a frame image, with respect to the image captured by the image capturing section 2. Thus, the reason why such a particular region having a rectangular shape in the horizontal direction is provided is that the computation amount is significantly reduced, thereby making it possible to achieve real-time and effective computation.
From the image capturing section 2, the image processing section 32 receives image data of the particular region set by the particular region setting section 31 for each of a plurality of frame images captured in time series by the image capturing section 2. The image processing section 32 extracts movement vector information based on the received image data of the particular region by an extraction process described later. The extraction process of the movement vector information will be described later in detail with reference to FIGS. 15 and 16.
The storage section 33 temporarily stores a result of the extraction process by the image processing section 32. The storage section 33 has a memory structure as shown in FIG. 17. Specifically, the storage section 33 has a previous image data storage region 331, a current image data storage region 332 and a movement vector storage region 333. Among them, the previous image data storage region 331 and the current image data storage region 332 are switched on a frame-by-frame basis by switching the memory address.
The change detection threshold setting section 34 sets a change detection threshold so as to determine the movement state of the other mobile body 6 relative to the own mobile body 5 (so as to determine whether or not it is dangerous).
The change detection section 35 detects the other mobile body 6 which is present in the vicinity of the own mobile body 5 based on the movement vector information which is extracted by the image processing section 32 and is stored by the storage section 33, using a process described later. The change detection section 35 further determines whether or not the movement state of the other mobile body 6 relative to the own mobile body 5 (distance relationship between the own mobile body 5 and the other mobile body 6) is dangerous, based on the determination threshold set by the change detection threshold setting section 34. When the movement state of the other mobile body 6 relative to the own mobile body 5 (distance relationship between the own mobile body 5 and the other mobile body 6) exceeds the determination threshold, the change detection section 35 outputs warning detection information as a result of determination by the change detection section 35 to the change informing section 4. The detection process of the movement state of the other mobile body 6 relative to the own mobile body 5 will be described later in detail with reference to FIG. 18.
The change informing section 4 informs a driver of the own mobile body 5 of a danger by generating a warning sound or displaying a warning based on the movement state of the other mobile body 6 relative to the own mobile body 5 which is detected by the change detection section 35, such as, for example, warning detection information which is output when the other mobile body 6 is very close to the own mobile body 5 so that there is a risk of a crash (when the relative movement state exceeds the danger determination threshold).
The computation section 3 and the change informing section 4 are packaged into a single mobile body detection apparatus 10 of FIG. 14 and are accommodated in a front portion of a driver seat in an automobile. Therefore, it is possible for the driver to easily confirm a warning (a sound or a display).
Hereinafter, a mobile body surrounding surveillance method using the mobile body surrounding surveillance apparatus 1 of the embodiment thus constructed will be described.
FIG. 15(a) is an image diagram schematically showing a captured surrounding image of the own mobile body 5 captured by the image capturing section 2 of FIG. 13. FIG. 15(b) is an image diagram schematically showing a captured surrounding image of the own mobile body 5 captured by the image capturing section 2 at a time t (frame time; a time between temporally adjacent frames) after that of FIG. 15(a).
As shown in FIGS. 15(a) and 15(b), the image capturing section 2 captures a view in a rear and side direction from the own mobile body 5. It is shown that the other mobile body 6 is approaching the own mobile body 5 from the rear and side direction.
A particular region 7 is a region for checking a changed state of a captured image set by the particular region setting section 31. The particular region 7 is a rectangular (band-like, landscape) region which is horizontally parallel to a frame image, with respect to the image captured by the image capturing section 2. The particular region 7 does not contain a captured image of the own mobile body 5 and contains at least a portion of a captured image of the other mobile body 6.
The particular region 7 is processed by the image processing section 32 and the change detection section 35 to detect the movement state of the other mobile body 6 relative to the own mobile body 5 (distance relationship between the own mobile body 5 and the other mobile body 6).
In FIGS. 15(a) and 15(b), an object which is located at a side of a road and does not move, such as a utility pole 8 or the like, is shifted in a right direction indicated by arrow B in the captured image at a later time t. In contrast, an object which approaches the own mobile body 5 from a rear and side direction, such as the other mobile body 6 or the like, is shifted in a left direction indicated by arrow C in the captured image at the later time t as indicated by a position 9 of a left edge of the other mobile body 6 (a right edge in FIGS. 15(a) and 15(b)). Therefore, the object (the other mobile body 6) approaching the own mobile body 5 and the fixed (static) object (the utility pole 8) have opposite (different) moving directions (movement vectors) in the particular region 7. Thus, by using such movement vectors, the movement state of the other mobile body 6 relative to the own mobile body 5 (positional relationship or distance relationship between the own mobile body 5 and the other mobile body 6) can be accurately detected to detect the other mobile body 6 approaching the own mobile body 5, without using advanced computation, such as optical flow or the like, to calculate a vanishing point, a white line or the like.
Next, an exemplary process for extracting movement vector information using the image processing section 32 of FIG. 13 will be described in detail with reference to FIG. 16.
FIG. 16 is a flowchart for explaining the process for extracting movement vector information using the image processing section 32 of FIG. 13.
As shown in FIG. 16, in step S1, the particular region setting section 31 sets the particular region 7 with respect to an image captured by the image capturing section 2. As shown in FIGS. 15(a) and 15(b), the particular region 7 is a rectangular (landscape) region which is horizontally parallel to a frame image. A lateral position of the particular region 7 is set so that the captured image of the own mobile body 5 is not included and at least a portion of the captured image of the other mobile body 6 is included.
In step S2, image data corresponding to the particular region 7 is taken by the image processing section 32 from image data captured by the image capturing section 2.
In step S3, in order to obtain a movement vector in the particular region 7, the particular region 7 is divided into a plurality of regions, and a sum of image data values is calculated for each divided region. As the image data value to be summed, for example, a brightness signal can be used. Alternatively, any one or all of color signals (R, G, B, Y, U and V) may be used. The number of divisions of the particular region 7 may be increased, depending on the computation ability of the image processing section 32. Particularly, the size of each divided region is desirably 8×8 pixels or more in order to prevent erroneous detection due to noise or the like.
In step S4, the sum value of each divided region is stored in a corresponding divided region of the current image data storage region 332 in the storage section 33 (FIG. 17).
In step S5, the sum value data which has been stored in each divided region of the storage section 33 at an earlier time t, is read out from the previous image data storage region 331 of the storage section 33 of FIG. 17.
In step S6, current image data and previous image data are compared with each other so as to extract a divided region of the previous image data which has a minimum difference in sum value between the current image data and the previous image data, for each divided region of the current image data. The extracted divided region of the previous image data which has a minimum difference in sum value between the current image data and the previous image data, is considered to be a location at which the divided region of interest of the current image data was present at the earlier time t. Although an image captured at the earlier time t is the previous image herein, several images may be captured for time t.
In step S7, it is determined whether a positional relationship of the region extracted in step S6 between the previous image and the current image indicates “left” or “right”. When the position of the extracted region in the previous image is left with respect to the position of the extracted region in the current image (“YES” in step S7), the process goes to step S8. When the position of the extracted region in the previous image is right with respect to the position of the extracted region in the current image (“NO” in step S7), the process goes to step S9.
In step S8, movement to the left is stored in the movement vector storage region 333 of the storage section 33 of FIG. 16 for individual divided regions.
In step S9, movement to the right is stored in the movement vector storage region 333 of the storage section 33 of FIG. 16 for individual divided regions.
As described with reference to FIGS. 15(a) and 15(b), the movement to the left indicates an object or the like (the other mobile body 6) approaching the own mobile body 5, while the movement to the right indicates an object or the like (the utility pole 8) which goes away from the own mobile body 5 or is fixed and does not move. Only left and right vector directions are extracted as movement vector information. In addition, if using a movement vector amount, a relative speed of the other mobile body 6 and the own mobile body 5 can be obtained.
In step S10, it is determined whether or not an instruction to end the process is input by the driver. Steps S2 to S9 are successively repeated until the process end instruction is input by the driver. When the process end instruction is input by the driver (YES), the process is ended.
Next, the process of detecting the movement state of the other mobile body 6 relative to the own mobile body 5 (distance relationship between the own mobile body 5 and the other mobile body 6) for determining danger by the change detection section 35 will be described in detail with reference to FIG. 18.
FIG. 18 is a flowchart for explaining an example of the process of detecting the movement state of the other mobile body 6 relative to the own mobile body 5 by the change detection section 35 of FIG. 13.
As shown in FIG. 18, in step S11, a change detection threshold (danger determination threshold) is set in the change detection threshold setting section 34. The change detection threshold is previously determined based on the size and position of the other mobile body 6. Typically, the change detection threshold is preferably set, based on the size and distance of the other mobile body 6, to be about a half of the number of divided regions.
In step S12, the image processing section 32 is used to read out the movement vector information stored in the movement vector storage region 333 of the storage section 33 to the change detection section 35.
In step S13, it is determined whether the movement vector information thus read out indicates “left” or “right”. When the movement vector information indicates “left” (“YES” in step S13), the process goes to step S14. In step S14, a left movement vector number (the number of left movement vectors) is incremented. When the movement vector information indicates “right” (“NO” in step S13), the process goes to step S15.
In step S15, steps S12 to S14 are repeated until all divided regions are processed. As a result, a left movement vector number from the earlier time t to the current time (the incremented value of the left movement vector number) is calculated. Herein, the left movement vector number is calculated. Conversely, when the image capturing section 2 is be placed on a left side of the own mobile body 5, a movement vector having a right direction indicates the approach of the own mobile body 5 and the other mobile body 6. In this case, aright movement vector number (the number of right movement vectors) is calculated.
In step S16, when the left movement vector number (incremented value) thus calculated is greater than the danger determination threshold set in step S11, it is determined that there is the other mobile body 6 approaching the own mobile body 5.
In step S17, the change informing section 4 is used to inform the driver of the own mobile body 5 of a risk due to the approach of the other mobile body 6 via a warning sound, a warning display or the like to draw the driver's attention to the risk. Herein, when the other mobile body 6 approaching the own mobile body 5 has a risk of crash or the like, a warning sound or a warning display is output. Alternatively, a warning sound or a warning display may be output when the other mobile body 6 approaches the own mobile body 5 but is considered to be safe. Warning may be given via vibration, heat or the like in addition to a sound or a display (e.g., an image, light, etc.). With such a warning, the driver can become aware of a risk of collision or crash of the own mobile body 5 and the other mobile body 6, and therefore, can avoid collision, crash or the like of the cars. Also herein, the change (warning) is given to the driver of the own mobile body 5. Alternatively, the change (warning) may also be given to the driver of the other mobile body 6, or alternatively, others who are present outside (around) the mobile bodies.
In step S18, it is determined whether or not the process end instruction is input by the driver. Steps S12 to S17 are successively repeated until the process end instruction is input by the driver. When the process end instruction is input by the driver (YES), the process is ended.
As described above, according to the mobile body surrounding surveillance apparatus 1 and the method using the mobile body surrounding surveillance method, the particular region setting section 31 is used to set the rectangular (landscape) particular region 7 which is parallel to the horizontal direction of a frame image, with respect to image data captured by the image capturing section 2. The image processing section 32 is used to take image data of the particular region 7 for each of a plurality of frame images and extract a movement vector from the image data. Further, when a sum value of vector values in a predetermined direction (in movement vector information) exceeds the threshold set by the change detection threshold setting section 34, the change detection section 35 determines that the other mobile body 6 is close to the own mobile body 5 to a dangerous level and the change informing section 4 is used to inform the driver of the risk via a warning sound, a warning display or the like to draw the driver's attention. Thus, the other mobile body 6 present in a surrounding of the own mobile body 5 can be accurately and reliably detected in real time without advanced computation or a large computation amount which are required for conventional techniques. Therefore, when there is a risk of collision, crash or the like, it is possible to give a warning to the driver to avoid the risk.
However, the mobile body surrounding surveillance apparatus and the mobile body surrounding surveillance method using the same disclosed in Japanese Laid-Open Publication No. 2005-222424 have the following problems.
FIG. 19 shows a top view of the image diagram shown in FIG. 15. In FIG. 19, streets are assumed to be straight. In FIG. 19, reference numerals 5, 6 and 8 denote the own mobile body 5, the other mobile body 6 and the utility pole 8 shown in FIG. 15(a), respectively. In FIG. 19, the own mobile body 5 and the other mobile body 6 in FIG. 15(b) at a time t after that of FIG. 15(a) are denoted 5′ and 6′, respectively. The utility pole 8 is located at the same position at the later time t since the utility pole is an object in a fixed position.
The extraction of the movement vector information corresponds to projecting the other mobile body 6 or the surrounding objects in a fixed position (e.g., utility pole 8) of the other mobile body 6 onto a projection plane fixed on the own mobile body 5 and thereafter, observing the movement of the positions of the projected objects in either the left or right direction. The movement vector B of the utility pole 8 and the movement vector. C of the other mobile body 6 shown in FIG. 15 correspond to the movement vectors B and C denoted by the same reference numerals in the projection plane at the later time t in FIG. 19, respectively.
It is assumed that the angle of the other mobile body 6 viewed from the own mobile body 5 at the time of FIG. 15(a) (previous image) is α and the angle of the other mobile body 6′ viewed from the own mobile body 5′ at the time of FIG. 15(b) (current image), which at the later time t, is β. When the other mobile body 6 is approaching the own mobile body 5, the relationship α<β is satisfied. In other words, when the movement vector in the left direction is detected, it is determined that there exists an object (another mobile body 6) which is approaching the own mobile body 5.
FIG. 20 shows a top view showing a case where the own mobile body 5 is not moving straight (e.g., a case where the own mobile body 5 is approaching a right curved street from a straight street). In FIG. 20, the own mobile body 5 and the other mobile body 6 are both moving straight and at the later time t, the own mobile body 5′ is approaching the right curved street and the other mobile body 6′ continues to be moving straight.
When the own mobile body 5 is moving straight as shown in FIG. 19, the projection plane before the passing of the time t and the projection plane after the passing of the time t are parallel to each other. However, when the own mobile body 5 is approaching the right curved street as shown in FIG. 20, the position of the other mobile body 6 projected onto the projection plane is different from the one when the own mobile body 5 is moving straight since the projection plane is inclined.
In the case of FIG. 20, it is assumed that the angle of the other mobile body 6 viewed from the own mobile body 5 before the passing of the time t (previous image) is α, the angle of the other mobile body 61 viewed from the own mobile body 5′ after the passing of the time t is β. Even if the relationship α<β is satisfied and the movement vector in the left direction is detected, it can not be determined whether or not the other mobile body 6 is approaching the own mobile body 5.
Similar to this case, when the own mobile body 5 is approaching the left curved street from the straight street, there is a possibility that the other mobile body 6 is approaching the own mobile body 5 even if the relationship α>β is satisfied and the movement vector in the right direction is detected.
As described above, it is determined whether or not there exists the other mobile body 6 which is approaching the own mobile body 5 by detecting the movement vector in the left direction in Japanese Laid-Open Publication 2005-222424. However, this is only effective when the own mobile body 5 and the other mobile body 6 are both moving straight or moving on a curved street with a constant curvature. Thus, when the own mobile body 5 is approaching a curved street or the curvature of the curved street itself changes, there is a problem that the approaching mobile body 6 can not be necessarily accurately detected.
The present invention is made to solve the problems described above. The objective of the present invention is to provide: a mobile body surrounding surveillance apparatus capable of detecting another mobile body in the surrounding of an own mobile body with high precision in real time without requiring a large amount of an advanced computation and further capable of detecting danger, which has not been readily detected, by automatically adjusting the sensitivity of detecting the other mobile body approaching the own mobile body in accordance with a change of movement direction of the own mobile body by detecting the movement direction of the own mobile body; a mobile body surrounding surveillance method using the mobile body surrounding surveillance apparatus; a control program for causing a computer to execute the mobile body surrounding surveillance method; and a computer-readable recording medium has recorded thereon the control program.